import { Controller, Get, Post, Put, Delete, Body, Param } from '@nestjs/common';
import { TodoService } from './todo.service';
import { Todo, TodoDocument } from './todo.schema';
import { CreateTodoDto } from './dto/create-todo.dto';
import { ModifyTodoDto } from './dto/modify-todo.dto';
import { DeleteTodoDto } from './dto/delete-todo.dto';

@Controller('todo')
export class TodoController {
  constructor(private readonly todoService: TodoService) {}

  @Get('getList')
  async getList(): Promise<Todo[]> {
    return await this.todoService.getList();
  }

  @Post()
  async create(@Body() createTodoDto: CreateTodoDto): Promise<Todo> {
    return await this.todoService.create(createTodoDto);
  }

  @Put()
  async modify(@Body() modifyTodoDto: ModifyTodoDto): Promise<Todo> {
    return await this.todoService.modify(modifyTodoDto);
  }

  @Delete()
  async delete(@Body() deleteTodoDto: DeleteTodoDto): Promise<Todo> {
    return await this.todoService.delete(deleteTodoDto);
  }
}
